package cn.doitedu.dfdemo

import cn.doitedu.beans.{TeacherBean, Word}
import cn.doitedu.util.SparkUtil
import org.apache.spark.rdd.RDD

/**
 * @Date 22.4.10
 * @Created by HANGGE
 * @Description
 */
object C06_MakeDF_RDD_Demo {
  def main(args: Array[String]): Unit = {

    val session = SparkUtil.getSession

    // 使用Sparkcontext  加载数据  创建RDD
    // 环境汇总的core-site.xml 指定了默认文件系统为HDFS
    // 操作本地文件系统  本地文件系统协议    file:///本地磁盘路径 [绝对路径]
    val rdd: RDD[String] = session.sparkContext.textFile("file:///D://code//doit30_spark_sql/data/word/a.txt")
    val rdd2 = rdd.flatMap(_.split("\\s+"))
    val rdd3 = rdd2.map(word => {
      Word(word)
    })


    // 创建DF
    val df = session.createDataFrame(rdd3)
   // 创建视图
    df.createTempView("tb_words")
   // 编写SQL  统计需求
    session.sql(
      """
        |select
        |word ,
        |count(1)
        |from
        |tb_words
        |group by word
        |""".stripMargin).show()


  }

}
